# This file contains snippets that are always defined. I personally
# have snippets for signatures and often needed texts

# sligthly lower priority than everything else since specialized versions
# should overwrite. The user needs to adjust her priority in her snippets to
# ~-55 so that other filetypes will still overwrite.
priority -60

extends all


snippet cg "ChatGPT" wA
ChatGPT $0
endsnippet

snippet gxh "Chinese name" w
甘湘华
endsnippet


snippet config1 "ChapGPT AI-tutor" bA
/config Depth: Level 10, Learning Style: Deductive, Communication Style: Textbook, Tone Style: Informative, Reasoning Framework: Deductive, Emojis: Enabled, Language: English 
endsnippet

snippet config3 "ChapGPT AI-tutor" bA
/config Depth: Level 3, Learning Style: Intuitive, Communication Style: Textbook, Tone Style: Informative, Reasoning Framework: Analogical, Emojis: Enabled, Language: English 
endsnippet

snippet cos "ChapGPT operation system" w
I'm using Dell precision T3640, with Window 10 and Ubuntu 20.04 dual boot installed. "$0" 
endsnippet

snippet bw "bing: Improve english writing" w
I want you to replace my words and sentences with more beautiful and elegant, upper level English words and sentences. Keep the meaning same, but make them more appropriate for a scientific work. These sentences are "$0"
endsnippet
# snippet bw "bing: Improve english writing" w
# I want you to replace my simplified A0-level words and sentences with more beautiful and elegant, upper level English words and sentences. Keep the meaning same, but make them more literary. My first sentence is "$0"
# endsnippet

snippet bp "ChatGPT: python coding" w
I want you to act as an instructor in a school, teaching algorithms to beginners. You will provide code examples using python programming language. Please do the following: $0.
endsnippet

snippet bl "ChatGPT: latex documents" w
Please format these contents as LaTeX code, so that I can copy and paste it into a LaTeX editor or a Jupyter Notebook with a LaTeX environment to render it.
endsnippet

snippet bpr "bing: python coding" w
Make the code more modularized, Pythonic, and adhere to PEP 8 guidelines. Also, add docstrings where applicable. 
endsnippet

# ##############
# # NICE BOXES #
# ##############
# global !p
# from vimsnippets import foldmarker, make_box, get_comment_format
# LOREM = """
# Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod \
# tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At \
# vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, \
# no sea takimata sanctus est Lorem ipsum dolor sit amet.
# """
# endglobal
#
# snippet box "A nice box with the current comment symbol" b
# `!p
# box = make_box(len(t[1]))
# snip.rv = box[0]
# snip += box[1]
# `${1:${VISUAL:content}}`!p
# box = make_box(len(t[1]))
# snip.rv = box[2]
# snip += box[3]`
# $0
# endsnippet
#
# snippet bbox "A nice box over the full width" b
# `!p
# if not snip.c:
#         width = int(vim.eval("&textwidth - (virtcol('.') == 1 ? 0 : virtcol('.'))")) or 71
# box = make_box(len(t[1]), width)
# snip.rv = box[0]
# snip += box[1]
# `${1:${VISUAL:content}}`!p
# box = make_box(len(t[1]), width)
# snip.rv = box[2]
# snip += box[3]`
# $0
# endsnippet
#
# snippet fold "Insert a vim fold marker" b
# `!p snip.rv = get_comment_format()[0]` ${1:Fold description} `!p snip.rv = foldmarker()[0]`${2:1} `!p snip.rv = get_comment_format()[2]`
# endsnippet
#
# snippet foldc "Insert a vim fold close marker" b
# `!p snip.rv = get_comment_format()[0]` ${2:1}`!p snip.rv = foldmarker()[1]` `!p snip.rv = get_comment_format()[2]`
# endsnippet
#
# snippet foldp "Insert a vim fold marker pair" b
# `!p snip.rv = get_comment_format()[0]` ${1:Fold description} `!p snip.rv = foldmarker()[0]` `!p snip.rv = get_comment_format()[2]`
# ${2:${VISUAL:Content}}
# `!p snip.rv = get_comment_format()[0]` `!p snip.rv = foldmarker()[1]` $1 `!p snip.rv = get_comment_format()[2]`
# endsnippet
#
# ##########################
# # LOREM IPSUM GENERATORS #
# ##########################
# snippet "lorem(([1-4])?[0-9])?" "Lorem Ipsum" r
# `!p snip.rv = " ".join(LOREM.split()[:int(match.group(1))]) if match.group(1) else LOREM`
# endsnippet
#
# ##########################
# # VIM MODELINE GENERATOR #
# ##########################
# # See advice on `:help 'tabstop'` for why these values are set. Uses second
# # modeline form ('set') to work in languages with comment terminators
# # (/* like C */).
# snippet modeline "Vim modeline"
# vim`!v ':set '. (&expandtab ? printf('et sw=%i ts=%i', &sw, &ts) : printf('noet sts=%i sw=%i ts=%i', &sts, &sw, &ts)) . (&tw ? ' tw='. &tw : '') . ':'`
# endsnippet
#
# #########
# # DATES #
# #########
# snippet date "YYYY-MM-DD" w
# `!v strftime("%Y-%m-%d")`
# endsnippet
#
# snippet ddate "Month DD, YYYY" w
# `!v strftime("%b %d, %Y")`
# endsnippet
#
# snippet diso "ISO format datetime" w
# `!v strftime("%Y-%m-%d %H:%M:%S%z")`
# endsnippet
#
# snippet time "hh:mm" w
# `!v strftime("%H:%M")`
# endsnippet
#
# snippet datetime "YYYY-MM-DD hh:mm" w
# `!v strftime("%Y-%m-%d %H:%M")`
# endsnippet
#
# snippet todo "TODO comment" bw
# `!p snip.rv=get_comment_format()[0]` ${2:TODO}: $0${3: <${4:`!v strftime('%d-%m-%y')`}${5:, `!v g:snips_author`}>} `!p snip.rv=get_comment_format()[2]`
# endsnippet
#
# ##########
# #  Misc  #
# ##########
# snippet uuid "Random UUID" w
# `!p if not snip.c: import uuid; snip.rv = str(uuid.uuid4())`
# endsnippet
#
# # vim:ft=snippets:
